package com.xyy.saas.payment.cores.vo;

import com.xyy.saas.payment.cores.enums.ChannelEnum;
import com.xyy.saas.payment.cores.enums.PayModeEnum;

import java.io.Serializable;

public class EntrustPayVO implements Serializable {

    private static final long serialVersionUID = 1834089362673868581L;

    /**
     * 业务线标识--支付平台分配
     */
    private String businessType;

    /**
     * 业务订单类型--支付平台分配
     */
    private String businessOrderType;

    /**
     * 调用方标识--支付平台分配，用于验签
     */
    private String invoker;

    /**
     * 签约成功，解约后回调业务地址--ykq
     */
    private String callback;

    /**
     * 支付渠道
     *  wx-微信
     *  alipay-支付宝
     */
    private ChannelEnum channel;

    /**
     * 支付方式--交易类型，枚举值
     */
    private PayModeEnum payMode;

    /**
     * 签约用户ID--签约C端用户在业务侧唯一标识
     */
    private String signUserId;

    /**
     * 收款人ID
     */
    private String businessUserId;

    /**
     * 签约单号--一个签约用户针对一个签约单号可签约一次（多账号签约能力），业务侧可传保单号
     */
    private String signOrderNo;

    /**
     * 业务订单号--业务申请扣款单号
     */
    private String businessOrderNo;

    /**
     * 申请扣款金额--订单总金额，单位为分，只能为整数
     */
    private Integer amount;

    /**
     * 商品描述--商品或支付单简要描述
     */
    private String body;

    /**
     * 扩展字段
     */
    private String mapJson;

    public String getBusinessType() {
        return businessType;
    }

    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }

    public String getInvoker() {
        return invoker;
    }

    public void setInvoker(String invoker) {
        this.invoker = invoker;
    }

    public String getCallback() {
        return callback;
    }

    public void setCallback(String callback) {
        this.callback = callback;
    }

    public ChannelEnum getChannel() {
        return channel;
    }

    public void setChannel(ChannelEnum channel) {
        this.channel = channel;
    }

    public PayModeEnum getPayMode() {
        return payMode;
    }

    public void setPayMode(PayModeEnum payMode) {
        this.payMode = payMode;
    }

    public String getSignUserId() {
        return signUserId;
    }

    public void setSignUserId(String signUserId) {
        this.signUserId = signUserId;
    }

    public String getSignOrderNo() {
        return signOrderNo;
    }

    public void setSignOrderNo(String signOrderNo) {
        this.signOrderNo = signOrderNo;
    }

    public String getBusinessOrderNo() {
        return businessOrderNo;
    }

    public void setBusinessOrderNo(String businessOrderNo) {
        this.businessOrderNo = businessOrderNo;
    }

    public Integer getAmount() {
        return amount;
    }

    public void setAmount(Integer amount) {
        this.amount = amount;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public String getMapJson() {
        return mapJson;
    }

    public void setMapJson(String mapJson) {
        this.mapJson = mapJson;
    }

    public String getBusinessUserId() {
        return businessUserId;
    }

    public void setBusinessUserId(String businessUserId) {
        this.businessUserId = businessUserId;
    }

    public String getBusinessOrderType() {
        return businessOrderType;
    }

    public void setBusinessOrderType(String businessOrderType) {
        this.businessOrderType = businessOrderType;
    }
}
